#ifndef CIGUI_INTERFACE_GLOBAL_H
#define CIGUI_INTERFACE_GLOBAL_H

#include <QString>

namespace CIGui {
    //CONSTANTS DEFINITION
    //Folders
    static const QString IMAGES_FOLDER = QString (":/Images/Images/");

    //Views
    static const QString TOP_VIEW = QString ("Top");
    static const QString FRONT_VIEW = QString ("Front");
    static const QString RIGHT_VIEW = QString ("Right");
    static const QString USER_VIEW = QString ("3D View");

    //Cursors
    static const Qt::CursorShape& DEFAULT_CURSOR = Qt::ArrowCursor;
    static const Qt::CursorShape& PANNING_CURSOR = Qt::SizeAllCursor;
    static const Qt::CursorShape& ROTATION_CURSOR = Qt::ClosedHandCursor;
    static const Qt::CursorShape& Z_ROTATION_CURSOR = Qt::ArrowCursor;
    static const Qt::CursorShape& ZOOMING_CURSOR = Qt::ArrowCursor;

    //Polygon Mode
    static const QString WIREFRAME_MODE = QString ("      Wireframe");
    static const QString FLAT_MODE = QString ("            Flat  ");
    static const QString SMOOTH_MODE = QString ("         Smooth ");

    //Style Sheet
    static const QString BORDER_COLOR= QString ("lightgray");//QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 9, stop: 0 #aaaaaa, stop: 1 #aaaaaa)");
    static const QString BACKGROUND_COLOR = QString ("QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #eef, stop: 1 #ccf)");

    static const QString GENERAL_BORDER = QString ("border: 2px solid " + BORDER_COLOR + ";");
    static const QString GENERAL_BACKGROUND = QString ("background: " + BACKGROUND_COLOR + ";");
    static const QString TABS_STYLE_SHEET = QString (
                                            "QTabWidget::pane {" /* The tab widget frame */
                                                "border-top: 0px solid #C2C7CB;"
                                            "}"

                                            "QTabWidget::tab-bar { "
                                                "left: 5px; " /* Move to the right by 5px */
                                            "}"

                                            /* Style the tab using the tab sub-control. Note that
                                             it reads QTabBar _not_ QTabWidget */
                                            "QTabBar::tab {"
                                                "background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
                                                                            "stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,"
                                                                            "stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);"
                                                "border: 2px solid #C4C4C3;"
                                                "border-bottom-color: #C2C7CB;" /* same as the pane color */
                                                "border-top-left-radius: 4px;"
                                                "border-top-right-radius: 4px;"
                                                "min-width: 8ex;"
                                                "padding: 2px;"
                                                "font-size: 9pt;"
                                                "font-family: sans-serif;"
                                            "}"

                                            "QTabBar::tab:selected, QTabBar::tab:hover {"
                                                "background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
                                                                            "stop: 0 #fafafa, stop: 0.4 #f4f4f4,"
                                                                            "stop: 0.5 #e7e7e7, stop: 1.0 #fafafa);"
                                            "}"

                                            "QTabBar::tab:selected {"
                                                "border-color: #9B9B9B;"
                                                "border-bottom-color: #C2C7CB;" /* same as pane color */
                                            "}"

                                            "QTabBar::tab:!selected {"
                                                "margin-top: 2px;" /* make non-selected tabs look smaller */
                                            "}"
                                           );

    static const QString TOOL_BOX_PAGE_STYLE_SHEET = QString (  "QObject {"
                                                                   "border: 0px;"
                                                                   "border-radius: 0px;"
                                                                   "background-color: rgba(0,0,0,0);"
                                                                   "font-family: sans-serif;"
                                                                   //"font-family: Helvetica;"
                                                                   //"font: bold;"
                                                                   //"font-size: 8pt;"
                                                                   //"color: black;"
                                                               "}"

                                                               "QToolTip {"
                                                                   "border: 0px solid gray;"
                                                                   "border-radius: 0px;"
                                                                   "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
                                                                                                   "stop: 0 #f6f7fa, stop: 1 #dadbde);"
                                                               "}"

                                                               "QToolButton {"
                                                                   + GENERAL_BORDER +
                                                                   "border-radius: 10px;"
                                                                   "margin: 0px 0px 0px 0px;"
                                                                   "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
                                                                                                   "stop: 0 #f6f7fa, stop: 1 #dadbde);"
                                                               "}"

                                                               "QToolButton:pressed {"
                                                                   "background-color: qlineargradient(spread:reflect, x1:0.062, y1:0.0170455, "
                                                                                                    "x2:0.562955, y2:0.392, stop:0 #aaabae, "
                                                                                                    "stop:1 rgba(255, 255, 255, 255));"
                                                                   "border: 1px inset darkgray;"
                                                                   "padding: 1px 0px 0px 1px;"
                                                               "}"

                                                               "QToolButton:checked {"
                                                                   "background-color: qlineargradient(spread:reflect, x1:0.062, y1:0.0170455, "
                                                                                                    "x2:0.562955, y2:0.392, stop:0 #aaabae, "
                                                                                                    "stop:1 rgba(255, 255, 255, 255));"

                                                                   "border-color: black;"
                                                                   "border-width: 2px;"
                                                                   "padding: 0px 0px 0px 0px;"
                                                               "}"

                                                                "QToolButton:hover:!checked:!pressed {"
                                                                    "border: 1px solid gray;"
                                                                    "border-radius: 10px;"
                                                                     "background-color: qlineargradient(spread:reflect, x1:0.062, y1:0.0170455, "
                                                                                                    "x2:0.562955, y2:0.392, stop:0 #dadbde, "
                                                                                                    "stop:1 rgba(255, 255, 255, 255));"
                                                                "}"

                                                               "QGroupBox {"
                                                                   "background-color: qlineargradient(spread:reflect, x1:0.062, y1:0.0170455, "
                                                                                                    "x2:0.562955, y2:0.392, stop:0 #dadbde, "
                                                                                                    "stop:1 rgba(255, 255, 255, 255));"
                                                                   "border: 2px solid gray;"
                                                                   "border-radius: 5px;"
                                                                   "padding: 0px 0px 0px 0px;"
                                                                   "margin-top: 0.8em;" /* leave space at the top for the title */
                                                               "}"

                                                               "QGroupBox:title {"
                                                                   "subcontrol-origin: margin;"
                                                                   "margin: 0px 0px 0px 0px;"
                                                                   "subcontrol-position: top center;" /* position at the top center */
                                                                   "padding: 0 3px;"
                                                                   "border: 1px solid white;"
                                                                   "border-radius: 3px;"
                                                                   "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
                                                                                                   "stop: 0 #f6f7fa, stop: 1 #dadbde);"
                                                                "}"

                                                                "QLabel {"
//                                                                   "font-family: sans-serif;"
                                                                  "font-family: Helvetica;"
                                                                  "font-size: 8pt;"
                                                                "}"
                                                           );
}

#endif /* CIGUI_INTERFACE_GLOBAL_H */
